"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var React = require("react");
exports.DOMFunction = function (props) { return React.createElement("div", tslib_1.__assign({}, props, { id: "node" })); };
exports.CompositeFunction = function (props) { return React.createElement(exports.DOMFunction, tslib_1.__assign({}, props)); };
var DOMClass = /** @class */ (function (_super) {
    tslib_1.__extends(DOMClass, _super);
    function DOMClass() {
        return _super !== null && _super.apply(this, arguments) || this;
    }
    DOMClass.prototype.render = function () {
        return React.createElement("div", tslib_1.__assign({}, this.props, { id: "node" }));
    };
    return DOMClass;
}(React.Component));
exports.DOMClass = DOMClass;
var CompositeClass = /** @class */ (function (_super) {
    tslib_1.__extends(CompositeClass, _super);
    function CompositeClass() {
        return _super !== null && _super.apply(this, arguments) || this;
    }
    CompositeClass.prototype.render = function () {
        return React.createElement(DOMClass, tslib_1.__assign({}, this.props));
    };
    return CompositeClass;
}(React.Component));
exports.CompositeClass = CompositeClass;
exports.ForwardedRef = React.forwardRef(function (props, ref) { return (React.createElement("div", null,
    React.createElement("button", tslib_1.__assign({}, props, { ref: ref })))); });
